package br.com.biblioteca;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class BookList {

	
	private Map<String,Book> book;
	
	private List<String> chaves;
	
	private static BookList lista;
	
	private BookList(){
		
		Book b1 = new Book("001", "Livro 1", "Autor 1", 10);
		Book b2 = new Book("002", "Livro 2", "Autor 2", 20);
		Book b3 = new Book("003", "Livro 3", "Autor 3", 30);
		Book b4 = new Book("004", "Livro 4", "Autor 4", 40);
		
		book = new HashMap<String, Book>();
		
		chaves = new ArrayList<String>();
		
		book.put(b1.getIsbn(),b1);
		book.put(b2.getIsbn(),b2);
		book.put(b3.getIsbn(),b3);
		book.put(b4.getIsbn(),b4);
		
		chaves.add(b1.getIsbn());
		chaves.add(b2.getIsbn());
		chaves.add(b3.getIsbn());
		chaves.add(b4.getIsbn());
		
	}
	
	public static BookList getSingleton(){
		if(lista == null)
			lista = new BookList();
		return lista;
	}
	
	public List<Book> getBooks(){
		int tamanho = book.size();
		List<Book> lista = new ArrayList<Book>();
		
		for (int i = 0; i<tamanho;i++) {
			lista.add(book.get(chaves.get(i)));
		}
		
		return lista;
	}
	
	public Book getBook(String isbn){
		return book.get(isbn);
	}
	
	
	
}
